//package com.yifushidai.utils;
//
//import com.tencent.xinge.Message;
//import com.tencent.xinge.MessageIOS;
//import com.tencent.xinge.XingeApp;
//import org.json.JSONObject;
//
//import java.util.HashMap;
//import java.util.LinkedHashMap;
//import java.util.Map;
//
///**
// * Created by liumei on 2017/4/20 10:39.
// * desc: 信鸽 推送 工具类
// */
//public class XinGeUtils {
//    private static long iosAccessId = 2200271771L;
//    private static String iosSecrectKey = "516817a0c7ed3c2da08fc2b4d1913d19";
//    private static long androidAccessId = 2100267911;
//    private static String androidSecrectKey = "7fb36bcba157fff678ea6c2656be0ed9";
//    private static XingeApp xinge = new XingeApp(androidAccessId, androidSecrectKey);
//    private static XingeApp xingeIOS = new XingeApp(iosAccessId, iosSecrectKey);
//
//    public XinGeUtils() {
//
//    }
//
//    /* 快捷推送  只支持通知，不支持透传  */
//    public static Map<String, Object> pushAndroidByToken(String title, String content, String token) {
//        Map<String, Object> map = new LinkedHashMap<>();
//        JSONObject jsonObject = XingeApp.pushTokenAndroid(androidAccessId, androidSecrectKey, title, content, token);
//        Integer ret_code = Integer.parseInt(jsonObject.get("ret_code").toString());
//        map.put("ret_code", ret_code);
//        // System.out.println("ret_code  android"+ret_code);
//        return map;
//    }
//
//    public static Map<String, Object> pushIosByToken(String content, String token, int environment) {
//        Map<String, Object> map = new LinkedHashMap<>();
//        JSONObject jsonObject = XingeApp.pushTokenIos(iosAccessId, iosSecrectKey, content, token, environment);
//        Integer ret_code = Integer.parseInt(jsonObject.get("ret_code").toString());
//        map.put("ret_code", ret_code);
//        // System.out.println("ret_code  ios"+ret_code);
//        return map;
//    }
//
//    /*单用户推送通知*/
//    public static boolean pushByTokenAndApptype(String appType, String alias, String xingeToken, String content, String title, int iosenvProd) {
//        Map<String, Object> RMap = new LinkedHashMap<>();
//        if (appType.toLowerCase().contains("ios")) {
//            RMap = pushIosByToken(alias + "," + content, xingeToken, iosenvProd);
//            // System.out.println("ios  ret_code" + RMap.get("ret_code") );
//            return (Integer) RMap.get("ret_code") == 0;
//        } else if (appType.toLowerCase().contains("android")) {
//            RMap = pushAndroidByToken(title, content, xingeToken);
//            // System.out.println(" android ret_code" + RMap.get("ret_code") );
//            return (Integer) RMap.get("ret_code") == 0;
//        } else {
//            return false;
//        }
//    }
//
//    //单个设备下发透传消息(android)
//    public static JSONObject demoPushSingleDeviceMessage(String content, String xingeToken) {
//        Message message = new Message();
//        message.setType(Message.TYPE_MESSAGE);
//        message.setContent(content);
//        return xinge.pushSingleDevice(xingeToken, message);
//    }
//
//    //单个设备静默通知(iOS7以上)
//    public static JSONObject demoPushSingleDeviceMessageIOS(String content, String xingeToken) {
//        MessageIOS messageIOS = new MessageIOS();
//        Map<String, Object> custom = new HashMap<String, Object>();
//        custom.put("content", content);
//        messageIOS.setCustom(custom);
//        messageIOS.setType(MessageIOS.TYPE_APNS_NOTIFICATION);
//        messageIOS.setAlert("ios test");
//        messageIOS.setBadge(1);
//        messageIOS.setCategory("INVITE_CATEGORY");
//        messageIOS.setSound("beep.wav");
//        return xingeIOS.pushSingleDevice(xingeToken, messageIOS, XingeApp.IOSENV_PROD);
//    }
//
//    /*单设备推送透传消息*/
//    public static boolean pushMessage(String appType, String xingeToken, String content) {
//        int retCode;
//        if (appType.toLowerCase().contains("ios")) {
//            retCode = demoPushSingleDeviceMessageIOS(content, xingeToken).getInt("ret_code");
//            return retCode == 0;
//        } else if (appType.toLowerCase().contains("android")) {
//            retCode = demoPushSingleDeviceMessage(content, xingeToken).getInt("ret_code");
//            return retCode == 0;
//        } else {
//            return false;
//        }
//    }
//
//}
